#ifndef __SEQSTACK_H__
#define __SEQSTACK_H__

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <string.h>

// 顺序栈管理结构体
typedef struct 
{
    int *data; // data --> 堆（数组） |0|1|2|3||||
               //                           ↑
               //                          top
    int size;
    int top;
}stack;

// API
stack *init_stack(int size);
bool push(stack *s, int data);
bool pop(stack *s, int *data);
bool is_empty(stack *s);
bool is_full(stack *s);
void destroy_init(stack *s);
void destroy(stack *s);

#endif